\hypertarget{class_service_selector_service}{\section{Service\-Selector\-Service Class Reference}
\label{class_service_selector_service}\index{Service\-Selector\-Service@{Service\-Selector\-Service}}
}


{\ttfamily \#include $<$Service\-Selector\-Service.\-hpp$>$}

Inheritance diagram for Service\-Selector\-Service\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4.000000cm]{class_service_selector_service}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_service_selector_service_a5fd9284ea8db22bef75b5a805a3777f4}{Service\-Selector\-Service} (\hyperlink{class_human_digital_input}{Human\-Digital\-Input} \&up\-Input, \hyperlink{class_human_digital_input}{Human\-Digital\-Input} \&down\-Input, \hyperlink{class_value_output}{Value\-Output}$<$ std\-::string $>$ \&value\-Output=\hyperlink{class_null_value_output}{Null\-Value\-Output}$<$ std\-::string $>$\-::Get\-Instance())
\item 
\hyperlink{class_service_selector_service_a31d5b4c4931c300d589c84fe60c39588}{Service\-Selector\-Service} (Driver\-Station\-Enhanced\-I\-O \&driver\-Station\-Io, U\-I\-N\-T32 button\-Up, U\-I\-N\-T32 button\-Down, \hyperlink{class_value_output}{Value\-Output}$<$ std\-::string $>$ \&value\-Output=\hyperlink{class_null_value_output}{Null\-Value\-Output}$<$ std\-::string $>$\-::Get\-Instance())
\item 
virtual \hyperlink{class_service_selector_service_afecf216bcee1050514f908d9f46063b2}{$\sim$\-Service\-Selector\-Service} ()
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{class_service_selector_service_a4b457dcef8bafe48e11cd04c397b8c24}{Handle\-Item\-Added} (\hyperlink{class_service}{Service} $\ast$service)
\item 
virtual void \hyperlink{class_service_selector_service_a528ae9fe465ac1e16b299a92b8ff89e9}{Handle\-Item\-Selected\-Impl} (\hyperlink{class_service}{Service} $\ast$service)
\item 
virtual void \hyperlink{class_service_selector_service_aa9ae0fbd0892944a0b90d75ffabdfa87}{Handle\-Item\-Unselected\-Impl} (\hyperlink{class_service}{Service} $\ast$service)
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
The Controller\-Selector\-Service selects a \hyperlink{class_service}{Service} to be run from a list based on some input.

When Controller\-Selector\-Service selects a new \hyperlink{class_service}{Service}, it stops the one that was previously selected (if any), and starts the newly select one.

This is useful for switching driving modes based on the driver's preference.

Testing shows this class mostly works. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_service_selector_service_a5fd9284ea8db22bef75b5a805a3777f4}{\index{Service\-Selector\-Service@{Service\-Selector\-Service}!Service\-Selector\-Service@{Service\-Selector\-Service}}
\index{Service\-Selector\-Service@{Service\-Selector\-Service}!ServiceSelectorService@{Service\-Selector\-Service}}
\subsubsection[{Service\-Selector\-Service}]{\setlength{\rightskip}{0pt plus 5cm}Service\-Selector\-Service\-::\-Service\-Selector\-Service (
\begin{DoxyParamCaption}
\item[{{\bf Human\-Digital\-Input} \&}]{up\-Input, }
\item[{{\bf Human\-Digital\-Input} \&}]{down\-Input, }
\item[{{\bf Value\-Output}$<$ std\-::string $>$ \&}]{value\-Output = {\ttfamily {\bf Null\-Value\-Output}$<$std\-:\-:string$>$\-:\-:GetInstance()}}
\end{DoxyParamCaption}
)}}\label{class_service_selector_service_a5fd9284ea8db22bef75b5a805a3777f4}
Constructor for \hyperlink{class_service_selector_service}{Service\-Selector\-Service}.


\begin{DoxyParams}{Parameters}
{\em up\-Input} & Input for selecting up the list. User is still reposible for deletion of parameter. \\
\hline
{\em down\-Input} & Input for selecting down the list. User is still reposible for deletion of parameter. \\
\hline
{\em value\-Output} & Value output for outputing the name of the selected \hyperlink{class_service}{Service}. \\
\hline
\end{DoxyParams}
\hypertarget{class_service_selector_service_a31d5b4c4931c300d589c84fe60c39588}{\index{Service\-Selector\-Service@{Service\-Selector\-Service}!Service\-Selector\-Service@{Service\-Selector\-Service}}
\index{Service\-Selector\-Service@{Service\-Selector\-Service}!ServiceSelectorService@{Service\-Selector\-Service}}
\subsubsection[{Service\-Selector\-Service}]{\setlength{\rightskip}{0pt plus 5cm}Service\-Selector\-Service\-::\-Service\-Selector\-Service (
\begin{DoxyParamCaption}
\item[{Driver\-Station\-Enhanced\-I\-O \&}]{driver\-Station\-Io, }
\item[{U\-I\-N\-T32}]{button\-Up, }
\item[{U\-I\-N\-T32}]{button\-Down, }
\item[{{\bf Value\-Output}$<$ std\-::string $>$ \&}]{value\-Output = {\ttfamily {\bf Null\-Value\-Output}$<$std\-:\-:string$>$\-:\-:GetInstance()}}
\end{DoxyParamCaption}
)}}\label{class_service_selector_service_a31d5b4c4931c300d589c84fe60c39588}
Constructor for \hyperlink{class_service_selector_service}{Service\-Selector\-Service}.


\begin{DoxyParams}{Parameters}
{\em driver\-Station\-Io} & Driver station I\-O. User is still reposible for deletion of parameter. \\
\hline
{\em button\-Up} & Channel number for button for selecting up the list. \\
\hline
{\em button\-Down} & Channel number for button for selecting down the list. \\
\hline
{\em value\-Output} & Value output for outputing the name of the \hyperlink{class_service}{Service} controller. \\
\hline
\end{DoxyParams}
\hypertarget{class_service_selector_service_afecf216bcee1050514f908d9f46063b2}{\index{Service\-Selector\-Service@{Service\-Selector\-Service}!$\sim$\-Service\-Selector\-Service@{$\sim$\-Service\-Selector\-Service}}
\index{$\sim$\-Service\-Selector\-Service@{$\sim$\-Service\-Selector\-Service}!ServiceSelectorService@{Service\-Selector\-Service}}
\subsubsection[{$\sim$\-Service\-Selector\-Service}]{\setlength{\rightskip}{0pt plus 5cm}Service\-Selector\-Service\-::$\sim$\-Service\-Selector\-Service (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_service_selector_service_afecf216bcee1050514f908d9f46063b2}
Destructor for \hyperlink{class_service_selector_service}{Service\-Selector\-Service}. 

\subsection{Member Function Documentation}
\hypertarget{class_service_selector_service_a4b457dcef8bafe48e11cd04c397b8c24}{\index{Service\-Selector\-Service@{Service\-Selector\-Service}!Handle\-Item\-Added@{Handle\-Item\-Added}}
\index{Handle\-Item\-Added@{Handle\-Item\-Added}!ServiceSelectorService@{Service\-Selector\-Service}}
\subsubsection[{Handle\-Item\-Added}]{\setlength{\rightskip}{0pt plus 5cm}void Service\-Selector\-Service\-::\-Handle\-Item\-Added (
\begin{DoxyParamCaption}
\item[{{\bf Service} $\ast$}]{service}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}}\label{class_service_selector_service_a4b457dcef8bafe48e11cd04c397b8c24}
Handle the \hyperlink{class_service}{Service} getting added.


\begin{DoxyParams}{Parameters}
{\em service} & The added service. \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{class_selector_service_a309cdd8ce105ff5110856881cf5d83da}{Selector\-Service$<$ Service $\ast$ $>$}.

\hypertarget{class_service_selector_service_a528ae9fe465ac1e16b299a92b8ff89e9}{\index{Service\-Selector\-Service@{Service\-Selector\-Service}!Handle\-Item\-Selected\-Impl@{Handle\-Item\-Selected\-Impl}}
\index{Handle\-Item\-Selected\-Impl@{Handle\-Item\-Selected\-Impl}!ServiceSelectorService@{Service\-Selector\-Service}}
\subsubsection[{Handle\-Item\-Selected\-Impl}]{\setlength{\rightskip}{0pt plus 5cm}void Service\-Selector\-Service\-::\-Handle\-Item\-Selected\-Impl (
\begin{DoxyParamCaption}
\item[{{\bf Service} $\ast$}]{service}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}}\label{class_service_selector_service_a528ae9fe465ac1e16b299a92b8ff89e9}
Handle the \hyperlink{class_service}{Service} getting selected.


\begin{DoxyParams}{Parameters}
{\em service} & The selected service. \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{class_selector_service_ac85d4fafdcfd8817a64f2300d45f1c9e}{Selector\-Service$<$ Service $\ast$ $>$}.

\hypertarget{class_service_selector_service_aa9ae0fbd0892944a0b90d75ffabdfa87}{\index{Service\-Selector\-Service@{Service\-Selector\-Service}!Handle\-Item\-Unselected\-Impl@{Handle\-Item\-Unselected\-Impl}}
\index{Handle\-Item\-Unselected\-Impl@{Handle\-Item\-Unselected\-Impl}!ServiceSelectorService@{Service\-Selector\-Service}}
\subsubsection[{Handle\-Item\-Unselected\-Impl}]{\setlength{\rightskip}{0pt plus 5cm}void Service\-Selector\-Service\-::\-Handle\-Item\-Unselected\-Impl (
\begin{DoxyParamCaption}
\item[{{\bf Service} $\ast$}]{service}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}}\label{class_service_selector_service_aa9ae0fbd0892944a0b90d75ffabdfa87}
Handle the \hyperlink{class_service}{Service} getting unselected.


\begin{DoxyParams}{Parameters}
{\em service} & The unselected service. \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{class_selector_service_ad2a5758dfbbedcf62cc0e4e8989570d4}{Selector\-Service$<$ Service $\ast$ $>$}.



The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
C\-:/\-Users/\-Sam/\-Projects/\-F\-R\-C/\-Libraries/\-Fpk/\-Entech-\/\-Fpk-\/\-Subscribers/\-Entech-\/\-Fpk/\-Services/Service\-Selector\-Service.\-hpp\item 
C\-:/\-Users/\-Sam/\-Projects/\-F\-R\-C/\-Libraries/\-Fpk/\-Entech-\/\-Fpk-\/\-Subscribers/\-Entech-\/\-Fpk/\-Services/Service\-Selector\-Service.\-cpp\end{DoxyCompactItemize}
